#!/usr/bin/env python

import hal
h = hal.component("reversefeed")
h.newpin("reverse_program_in", hal.HAL_BIT, hal.HAL_IN)
h.newpin("reverse_manual_in", hal.HAL_BIT, hal.HAL_IN)
h.newpin("adaptive_in", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("seconds_wait", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("seconds_elapsed", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("adaptive_out", hal.HAL_FLOAT, hal.HAL_OUT)
h.newpin("feed_pause_out", hal.HAL_BIT, hal.HAL_OUT)

h.ready()
try:
    while 1:
		
        if h['reverse_program_in'] == 1 and h['seconds_elapsed'] < h["seconds_wait"]:
			h["feed_pause_out"] = 1
        
        elif (h['reverse_program_in'] == 1 and h['seconds_elapsed'] >= h["seconds_wait"]) or h['reverse_manual_in'] == 1:
			h["feed_pause_out"] = 0
			h["adaptive_out"] = -1
			#new_val = str(-1 * h["adaptive_in"])
			#hal.set_p("halui.feed-override.value", new_val)
			#hal.set_p("motion.adaptive-feed", new_val)
        else:
			new_val = str(1 * h["adaptive_in"])
			h["feed_pause_out"] = 0
			h["adaptive_out"] = 1
			#hal.set_p("halui.feed-override.value", new_val)
			#hal.set_p("motion.adaptive-feed","-1")
        
except KeyboardInterrupt:
    raise SystemExit
